﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace Mapping.Sistema
{
    public class MappingUnidad
    {
        public static List<Entidades.Sistema.Unidad> ConsultarUnidadTT()
        {
            SqlCommand cmdUnidad = new SqlCommand();
            cmdUnidad.CommandText = "sp_ConsultarUnidadTT";
            cmdUnidad.CommandType = System.Data.CommandType.StoredProcedure;
            cmdUnidad.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
            SqlDataReader drunidad = cmdUnidad.ExecuteReader();
            List<Entidades.Sistema.Unidad> Col_Unidad = new List<Entidades.Sistema.Unidad>();
            while (drunidad.Read())
            {
                Entidades.Sistema.Unidad oUnidad = new Entidades.Sistema.Unidad();
                oUnidad.cod_unidad = Convert.ToInt16(drunidad["cod_unidad"]);
                oUnidad.nombre = (drunidad["nombre"]).ToString();

                Col_Unidad.Add(oUnidad);

            }
            return Col_Unidad;
        }

        public static List<Entidades.Sistema.Unidad> ConsultarUnidad()
        {
            SqlCommand cmdUnidad = new SqlCommand();
            cmdUnidad.CommandText = "sp_ConsultarUnidadTT";
            cmdUnidad.CommandType = System.Data.CommandType.StoredProcedure;
            cmdUnidad.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
            SqlDataReader drunidad = cmdUnidad.ExecuteReader();
            List<Entidades.Sistema.Unidad> Col_Unidad = new List<Entidades.Sistema.Unidad>();
            while (drunidad.Read())
            {
                Entidades.Sistema.Unidad oUnidad = new Entidades.Sistema.Unidad();
                oUnidad.cod_unidad = Convert.ToInt16(drunidad["cod_unidad"]);
                oUnidad.nombre = (drunidad["nombre"]).ToString();

                Col_Unidad.Add(oUnidad);

            }
            return Col_Unidad;
        }
            public static bool AgregarUnidad(Entidades.Sistema.Unidad oUnidad)
            {
                int Maximo = 0;
                SqlCommand cmdMaxTMP = new SqlCommand();
                cmdMaxTMP.CommandText = "sp_ObtenerUnidad";
                cmdMaxTMP.CommandType = System.Data.CommandType.StoredProcedure;
                cmdMaxTMP.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
                SqlDataReader drOrdenMaximo = cmdMaxTMP.ExecuteReader();

                while (drOrdenMaximo.Read())
                {
                    Maximo = Convert.ToInt32(drOrdenMaximo[0]);
                }

                Maximo = Maximo + 1;
                oUnidad.cod_unidad = Maximo;

                SqlCommand cmdUnidad = new SqlCommand();
                cmdUnidad.CommandText = "sp_AgregarUnidad";
                cmdUnidad.CommandType = System.Data.CommandType.StoredProcedure;
                cmdUnidad.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
                cmdUnidad.Parameters.Add("@cod_unidad", System.Data.SqlDbType.Int).Value = oUnidad.cod_unidad;
                cmdUnidad.Parameters.Add("@nombre", System.Data.SqlDbType.NVarChar, 50).Value = oUnidad.nombre;
                cmdUnidad.ExecuteNonQuery();
                return true;
            }

            public static bool EliminarUnidad(Entidades.Sistema.Unidad oUnidad)
            {
                SqlCommand cmdUnidad = new SqlCommand();
                cmdUnidad.CommandText = "sp_EliminarUnidad";
                cmdUnidad.CommandType = System.Data.CommandType.StoredProcedure;
                cmdUnidad.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
                cmdUnidad.Parameters.Add("@cod_unidad", System.Data.SqlDbType.Int).Value = oUnidad.cod_unidad;
                cmdUnidad.ExecuteNonQuery();
                return true;
            }


            public static bool ModificarUnidad(Entidades.Sistema.Unidad oUnidad)
            {
                SqlCommand cmdUnidad = new SqlCommand();
                cmdUnidad.CommandText = "sp_ModificarUnidad";
                cmdUnidad.CommandType = System.Data.CommandType.StoredProcedure;
                cmdUnidad.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
                cmdUnidad.Parameters.Add("@cod_unidad", System.Data.SqlDbType.Int).Value = oUnidad.cod_unidad;
                cmdUnidad.Parameters.Add("@nombre", System.Data.SqlDbType.NVarChar, 50).Value = oUnidad.nombre;
                cmdUnidad.ExecuteNonQuery();
                return true;

            }

        }
    }


